<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>EasyIO-GPRS-Framework: api.h文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>首页</span></a></li>
      <li><a href="modules.html"><span>模块</span></a></li>
      <li><a href="annotated.html"><span>类</span></a></li>
      <li class="current"><a href="files.html"><span>文件</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="搜索" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>文件列表</span></a></li>
      <li><a href="globals.html"><span>文件成员</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>api.h文件参考</h1>
<p>EasyIO-GPRS 接口文件.  
<a href="#_details">更多...</a></p>
<code>#include &quot;<a class="el" href="api_8h_source.html">api_type.h</a>&quot;</code><br/>

<p><a href="api_8h_source.html">浏览该文件的源代码。</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>宏定义</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a80a290edcdf5934b2bbda8eada5c3a52">HOOK</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#aefb2aa75be4323fe06eb3ec8394bdfc7">INTERFACE</a>&nbsp;&nbsp;&nbsp;extern</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#afabb8cdc9450ec537c0bee641a9fda90">EI_MALLOC</a>&nbsp;&nbsp;&nbsp;rt_malloc</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a0044eb38af0014e6521a14a72d05a2f5">EI_FREE</a>&nbsp;&nbsp;&nbsp;rt_free</td></tr>
<tr><td colspan="2"><h2>函数</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a59df66cde845e58fbcce79eafb42b5ee">ReadSerial</a> (unsigned char *buffer, int max, int timeout)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a78cc5c993ce3e0c72ddc38c7de1b6d83">SerialPrintf</a> (char *fmt,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a1a7008f48872b20f41bd83290e4705e5">WriteSerial</a> (unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#acfa681e48122da0da490adb8b19d8ece">ReadEEPROM</a> (int pos, unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a59935c90d54edd81607ba01ed7d02957">WriteEEPROM</a> (int pos, unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a66cebdf06835f6d6b9c7ec77d84f7099">GetLocation</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a7f277cbc25c344a82fb50c809fb3ca3b">SendSms</a> (const char *phonenum, const char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a4c362ba910ffadc54d3d7b0d95bf9b94">SendTcpData</a> (const char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a6f4a24bbde5f08822dacb0e5fca2acae">SendP2paMsg</a> (const char *imei, const char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a1b26a329aa3aa5e962809722a37e21f6">SendXmppMsg</a> (const char *to, const char *body)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#acb3f64b85678bbeaad49e856e894d6ad">HttpRequest</a> (const char *url, const char *UserHeader, char *RespBuffer, int RespBufSize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a3821ab5f141aaa49aa7da5f8caf3e580">GetSysInfo</a> (struct <a class="el" href="structSysInfo.html">SysInfo</a> *info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a2a69f03277a975ab59fb363b54e8942c">ResetSystem</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a0e1c8e962bd88c2df5fb6a54865545a6">ResetGprs</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a4b93413c1716a933b70ff024609531f9">InitSerial</a> (struct <a class="el" href="structSerialOption.html">SerialOption</a> *option)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a009e64f475ff55b9627e9705d8d3c590">InitDtu</a> (struct <a class="el" href="structDtuOption.html">DtuOption</a> *option)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a6c87ac370cc3c561d7bc5fc4527dc627">InitXmpp</a> (struct <a class="el" href="structXmppOption.html">XmppOption</a> *option)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">INTERFACE EIResult_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a5ab96a061e08adee4a93aca4e050257c">InitEasyIOCloud</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a951592d1b14d7bebd76b61fa3f670b88">InitBoard</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a567fcfb601dc83cc9691ce515ce5a474">Startup</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a153a5fd8946b6ab9fd9b725759fffe5e">MainLoop</a> ()</td></tr>
<tr><td colspan="2"><h2>变量</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">HOOK void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#ab2c6238f30c26c9f51730d30dbda2241">RecvSms</a> )(const char *phonenum, const unsigned char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">HOOK void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#aac9a04f1f2cce3ef8bdafa7be0cabfea">RecvWeChat</a> )(const char *from, const char *msg, EIResult_t(*relpy)(char *msg))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">HOOK void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a2076d1d25b16d2a7b125925d18f94272">RecvTcpData</a> )(unsigned char *buffer, int size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">HOOK void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#ab222c70d87b7402f4ec44dba9c595ac9">RecvP2pMsg</a> )(char *imei, char *msg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">HOOK void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="api_8h.html#a4194f502aee2580f05acbcee83ff93de">RecvXmppMsg</a> )(char *from, char *body)</td></tr>
</table>
<hr/><a name="_details"></a><h2>详细描述</h2>
<p>EasyIO-GPRS 接口文件. </p>
<p>使用EasyIO Framework 需要引入此头文件，此文件包含了所有功能和方法的API函数和系统的钩子函数 </p>
<dl class="author"><dt><b>作者:</b></dt><dd>stopfan </dd></dl>
<dl class="date"><dt><b>日期:</b></dt><dd>2013-11-11 </dd></dl>
<dl class="version"><dt><b>版本:</b></dt><dd>A001 </dd></dl>
<dl class="user"><dt><b>Copyright (c): </b></dt><dd>新动力科技 </dd></dl>
<dl class="user"><dt><b>History: </b></dt><dd>version: stopfan, 2013-12-12, desc<br/>
 </dd></dl>
<hr/><h2>宏定义文档</h2>
<a class="anchor" id="a0044eb38af0014e6521a14a72d05a2f5"></a><!-- doxytag: member="api.h::EI_FREE" ref="a0044eb38af0014e6521a14a72d05a2f5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EI_FREE&nbsp;&nbsp;&nbsp;rt_free</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>定义 EI_FREE </p>

</div>
</div>
<a class="anchor" id="afabb8cdc9450ec537c0bee641a9fda90"></a><!-- doxytag: member="api.h::EI_MALLOC" ref="afabb8cdc9450ec537c0bee641a9fda90" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EI_MALLOC&nbsp;&nbsp;&nbsp;rt_malloc</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>定义 EI_MALLOC </p>

</div>
</div>
<a class="anchor" id="a80a290edcdf5934b2bbda8eada5c3a52"></a><!-- doxytag: member="api.h::HOOK" ref="a80a290edcdf5934b2bbda8eada5c3a52" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HOOK</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>不具备任何意义，只是作为前缀方面区分函数功能 </p>

</div>
</div>
<a class="anchor" id="aefb2aa75be4323fe06eb3ec8394bdfc7"></a><!-- doxytag: member="api.h::INTERFACE" ref="aefb2aa75be4323fe06eb3ec8394bdfc7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INTERFACE&nbsp;&nbsp;&nbsp;extern</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>extern </p>

</div>
</div>
<hr/><h2>函数文档</h2>
<a class="anchor" id="a66cebdf06835f6d6b9c7ec77d84f7099"></a><!-- doxytag: member="api.h::GetLocation" ref="a66cebdf06835f6d6b9c7ec77d84f7099" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t GetLocation </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取基站位置信息</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a3821ab5f141aaa49aa7da5f8caf3e580"></a><!-- doxytag: member="api.h::GetSysInfo" ref="a3821ab5f141aaa49aa7da5f8caf3e580" args="(struct SysInfo *info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t GetSysInfo </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structSysInfo.html">SysInfo</a> *&nbsp;</td>
          <td class="paramname"> <em>info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>获取系统信息</p>
<p>param[out] info : 输出系统信息结构体 </p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="acb3f64b85678bbeaad49e856e894d6ad"></a><!-- doxytag: member="api.h::HttpRequest" ref="acb3f64b85678bbeaad49e856e894d6ad" args="(const char *url, const char *UserHeader, char *RespBuffer, int RespBufSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE int HttpRequest </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>UserHeader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>RespBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>RespBufSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发起HTTP请求，目前仅支持GET请求</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>url</em>&nbsp;</td><td>: 要请求的URL </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>Userheader</em>&nbsp;</td><td>：用户字定义请求头，一般为 NULL </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>RespBuffer</em>&nbsp;</td><td>: HTTP请求的返回结果保存在此缓冲中 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>RespBufSize,:</em>&nbsp;</td><td>HTTP缓冲的大小 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd>返回真正获取到的数据长度 返回“0代表”失败 </dd></dl>

</div>
</div>
<a class="anchor" id="a951592d1b14d7bebd76b61fa3f670b88"></a><!-- doxytag: member="api.h::InitBoard" ref="a951592d1b14d7bebd76b61fa3f670b88" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void InitBoard </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>硬件初始化</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a009e64f475ff55b9627e9705d8d3c590"></a><!-- doxytag: member="api.h::InitDtu" ref="a009e64f475ff55b9627e9705d8d3c590" args="(struct DtuOption *option)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t InitDtu </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structDtuOption.html">DtuOption</a> *&nbsp;</td>
          <td class="paramname"> <em>option</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>初始化Dtu</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>option</em>&nbsp;</td><td>: Dtu参数</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a5ab96a061e08adee4a93aca4e050257c"></a><!-- doxytag: member="api.h::InitEasyIOCloud" ref="a5ab96a061e08adee4a93aca4e050257c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t InitEasyIOCloud </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>初始化EasyIO云,初始化此功能后，可使用微信，Web，手机等 设备与设备进行通讯</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a4b93413c1716a933b70ff024609531f9"></a><!-- doxytag: member="api.h::InitSerial" ref="a4b93413c1716a933b70ff024609531f9" args="(struct SerialOption *option)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t InitSerial </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structSerialOption.html">SerialOption</a> *&nbsp;</td>
          <td class="paramname"> <em>option</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>初始化串口</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>option</em>&nbsp;</td><td>: 串口参数</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a6c87ac370cc3c561d7bc5fc4527dc627"></a><!-- doxytag: member="api.h::InitXmpp" ref="a6c87ac370cc3c561d7bc5fc4527dc627" args="(struct XmppOption *option)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t InitXmpp </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structXmppOption.html">XmppOption</a> *&nbsp;</td>
          <td class="paramname"> <em>option</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>初始化Xmpp客户端</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>option</em>&nbsp;</td><td>: Xmpp服务器参数</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a153a5fd8946b6ab9fd9b725759fffe5e"></a><!-- doxytag: member="api.h::MainLoop" ref="a153a5fd8946b6ab9fd9b725759fffe5e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void MainLoop </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>主循环,一切从这里开始... | 主循环最大使用的栈空间为1Kbyte 请尽量多的使用(EI_MALLOC/EI_FREE)动态使用内存分配</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="acfa681e48122da0da490adb8b19d8ece"></a><!-- doxytag: member="api.h::ReadEEPROM" ref="acfa681e48122da0da490adb8b19d8ece" args="(int pos, unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t ReadEEPROM </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>读取EEPROM中的内容</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pos</em>&nbsp;</td><td>: 要读取的位置 </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 存储读出内容的缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 读取长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a59df66cde845e58fbcce79eafb42b5ee"></a><!-- doxytag: member="api.h::ReadSerial" ref="a59df66cde845e58fbcce79eafb42b5ee" args="(unsigned char *buffer, int max, int timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE int ReadSerial </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>读取串口数据</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>max</em>&nbsp;</td><td>: 读取缓冲的长度 </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 存储读出内容的缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>timeout</em>&nbsp;</td><td>: 超时等待 ，最小时间间隔为百分之一秒</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd>int 返回读取出的数据长度 -1 为读取错误 </dd></dl>

</div>
</div>
<a class="anchor" id="a0e1c8e962bd88c2df5fb6a54865545a6"></a><!-- doxytag: member="api.h::ResetGprs" ref="a0e1c8e962bd88c2df5fb6a54865545a6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t ResetGprs </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>GPRS 模块重启 ,只针对 gprs 模块进行复位重启</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a2a69f03277a975ab59fb363b54e8942c"></a><!-- doxytag: member="api.h::ResetSystem" ref="a2a69f03277a975ab59fb363b54e8942c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t ResetSystem </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>设备重启 ,执行此函数后，模块和MCU都将重启</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a6f4a24bbde5f08822dacb0e5fca2acae"></a><!-- doxytag: member="api.h::SendP2paMsg" ref="a6f4a24bbde5f08822dacb0e5fca2acae" args="(const char *imei, const char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t SendP2paMsg </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>imei</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>body</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送P2p消息</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>imei</em>&nbsp;</td><td>: 目的IMEI </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>：内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a7f277cbc25c344a82fb50c809fb3ca3b"></a><!-- doxytag: member="api.h::SendSms" ref="a7f277cbc25c344a82fb50c809fb3ca3b" args="(const char *phonenum, const char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t SendSms </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>phonenum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>body</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送短信</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>phonenum</em>&nbsp;</td><td>: 目标手机号码 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>: 发送内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a4c362ba910ffadc54d3d7b0d95bf9b94"></a><!-- doxytag: member="api.h::SendTcpData" ref="a4c362ba910ffadc54d3d7b0d95bf9b94" args="(const char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t SendTcpData </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发DTU送数据</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 发送缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 发送长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a1b26a329aa3aa5e962809722a37e21f6"></a><!-- doxytag: member="api.h::SendXmppMsg" ref="a1b26a329aa3aa5e962809722a37e21f6" args="(const char *to, const char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t SendXmppMsg </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>body</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>发送XMPP消息</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>to</em>&nbsp;</td><td>: 目的ID </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>：内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a78cc5c993ce3e0c72ddc38c7de1b6d83"></a><!-- doxytag: member="api.h::SerialPrintf" ref="a78cc5c993ce3e0c72ddc38c7de1b6d83" args="(char *fmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE int SerialPrintf </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>格式化输出字符串到串口</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fmt</em>&nbsp;</td><td>: 格式化字符串</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a567fcfb601dc83cc9691ce515ce5a474"></a><!-- doxytag: member="api.h::Startup" ref="a567fcfb601dc83cc9691ce515ce5a474" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Startup </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>启动函数，EasyIO 启动时将调用此函数,系统相关的初始化和回调函数注册需要在这里进行。</p>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a59935c90d54edd81607ba01ed7d02957"></a><!-- doxytag: member="api.h::WriteEEPROM" ref="a59935c90d54edd81607ba01ed7d02957" args="(int pos, unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t WriteEEPROM </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>将内容写入EEPROM</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pos</em>&nbsp;</td><td>: 要写入的位置 </td></tr>
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 写入缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 写入长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a1a7008f48872b20f41bd83290e4705e5"></a><!-- doxytag: member="api.h::WriteSerial" ref="a1a7008f48872b20f41bd83290e4705e5" args="(unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">INTERFACE EIResult_t WriteSerial </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>将内容写入串口</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 写入缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 写入长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<hr/><h2>变量文档</h2>
<a class="anchor" id="ab222c70d87b7402f4ec44dba9c595ac9"></a><!-- doxytag: member="api.h::RecvP2pMsg" ref="ab222c70d87b7402f4ec44dba9c595ac9" args=")(char *imei, char *msg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HOOK void(* <a class="el" href="api_8h.html#ab222c70d87b7402f4ec44dba9c595ac9">RecvP2pMsg</a>)(char *imei, char *msg)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收P2p消息</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>imei</em>&nbsp;</td><td>: 发送者IMEI </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>：接收内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ab2c6238f30c26c9f51730d30dbda2241"></a><!-- doxytag: member="api.h::RecvSms" ref="ab2c6238f30c26c9f51730d30dbda2241" args=")(const char *phonenum, const unsigned char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HOOK void(* <a class="el" href="api_8h.html#ab2c6238f30c26c9f51730d30dbda2241">RecvSms</a>)(const char *phonenum, const unsigned char *str)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收到短信的回调函数</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>phonenum</em>&nbsp;</td><td>: 电话号码 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>str</em>&nbsp;</td><td>: 短信内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a2076d1d25b16d2a7b125925d18f94272"></a><!-- doxytag: member="api.h::RecvTcpData" ref="a2076d1d25b16d2a7b125925d18f94272" args=")(unsigned char *buffer, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HOOK void(* <a class="el" href="api_8h.html#a2076d1d25b16d2a7b125925d18f94272">RecvTcpData</a>)(unsigned char *buffer, int size)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收到Tcp数据的回调函数</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buffer</em>&nbsp;</td><td>: 数据缓冲 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>: 数据长度</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="aac9a04f1f2cce3ef8bdafa7be0cabfea"></a><!-- doxytag: member="api.h::RecvWeChat" ref="aac9a04f1f2cce3ef8bdafa7be0cabfea" args=")(const char *from, const char *msg, EIResult_t(*relpy)(char *msg))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HOOK void(* <a class="el" href="api_8h.html#aac9a04f1f2cce3ef8bdafa7be0cabfea">RecvWeChat</a>)(const char *from, const char *msg, EIResult_t(*relpy)(char *msg))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接收到微信的回调函数</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>from</em>&nbsp;</td><td>: 发送者的微信Id </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>msg</em>&nbsp;</td><td>: 信息内容 </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>relpy</em>&nbsp;</td><td>: 回复本条微信的函数</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a4194f502aee2580f05acbcee83ff93de"></a><!-- doxytag: member="api.h::RecvXmppMsg" ref="a4194f502aee2580f05acbcee83ff93de" args=")(char *from, char *body)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">HOOK void(* <a class="el" href="api_8h.html#a4194f502aee2580f05acbcee83ff93de">RecvXmppMsg</a>)(char *from, char *body)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>接受XMPP消息的回调函数</p>
<dl><dt><b>参数:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>from</em>&nbsp;</td><td>: 发送者ID </td></tr>
    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>body</em>&nbsp;</td><td>：接收内容</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>返回:</b></dt><dd></dd></dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>类</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>枚举</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>枚举值</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>宏定义</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated at Thu Dec 26 21:32:02 2013 for EasyIO-GPRS-Framework by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
